package mx.unam.fciencias.ActividadesCulturales.components;

import org.apache.tapestry5.*;
import org.apache.tapestry5.annotations.*;
import org.apache.tapestry5.ioc.annotations.*;
import org.apache.tapestry5.BindingConstants;

/**
 * Clase del componente Layout para las paginas de la aplicación.
 */
@IncludeStylesheet("context:layout/layout.css")
public class Layout
{
    /** El titulo de la pagina. */
    @Property
    @Parameter(required = true, defaultPrefix = BindingConstants.LITERAL)
    private String title;

    /** El nombre de la pagina. */
    @Property
    private String pageName;

    /** El titulo del sidebar */
    @Property
    @Parameter(defaultPrefix = BindingConstants.LITERAL)
    private String sidebarTitle;

    /** Componente sidebar de la pagina. */
    @Property
    @Parameter(defaultPrefix = BindingConstants.LITERAL)
    private Block sidebar;

    /** Provides a component instance with the resources provided by the framework. In many circumstances, the resources
 * object can be considered the component itself */
    @Inject
    private ComponentResources resources;

    /**
     * Obtiene la clase para cada nombre de página.
     * @return la clase.
     */
    public String getClassForPageName() {
      return resources.getPageName().equalsIgnoreCase(pageName)
             ? "current_page_item"
             : null;
    }

    /**
     * Obtiene los nombres de las paginas.
     * @return Array de nombres.
     */
    public String[] getPageNames() {
      return new String[] { "Inicio", "Index", "About", "Contact" };
    }
}
